<?php

class LoginView{
	
	//fält som blir fasta i html-kod
	private $name = 'name';
	private $pass = 'pass';
	private $cookieName = 'c_name';
	private $cookiePass = 'c_pass';
	private $login = 'logga';
	private $logout = 'utlogga';
	private $check = 'checked';
	private $nav = "?Register";
	
	// konstanter för login-controller
	const USER_LOGGED_IN = 0;
	const USER_LOGGED_OUT = 1;
	const USER_WRONG_DATA = 2;
	
	// Skriver ut html-kod för form för login
	public function DoLoginBox(){
		
			$form = "
				<div id='loginwrapper'>
					<h2>Logga in</h2>
					<form action='index.php' id='loginform' method='POST'>
						
						<div id='login'>
							<div class='logininput'>
								<label for='name'>Användarnamn: </label> <input type='text' name='$this->name' />
							</div>
							
							<div class='logininput'>
								<label for='password'>Lösenord: </label> <input type='password' name='$this->pass' />
							</div>
							
							<div class='buttonCheck'>
								<label id='checklabel' for='check'>Remember Me </label> <input type='checkbox' id='check' value='remember' name='$this->check' />
								<input type='submit' name='$this->login' class='button' value='Logga in'/>
							</div> 
						</div>
						
						
					</form>
					<a href='$this->nav'> Registrera dig </a>
				</div>";
			return $form;
		
	}
	
	// Skriver ut html-kod för form för logga ut knappen. 
	public function DoLogoutBox($var){
		$buttom = "
			<h4> Hejsan $var </h4>
			<div id='login'>
				<form action='index.php' method='POST'>
					<input type='submit' class='button' name='$this->logout' value='Logga ut'/>
				</form>
			</div>";
			
		return $buttom;
	}
	
	// Denna funktion visar meddelande beroende på hur läget är, inloggad, ej inloggad, fel lösnord osv. 
	public function Status($n){
		
		$state = array("Inloggad", "Utloggad", "Fel namn och/eller lösenord");
		
		return "<p class='status'> $state[$n] </p>";
	}
	
	
	// Hämtar cookien från anvädaren
	public function nameCookie(){
		if(isset($_COOKIE[$this->name])){
			return $_COOKIE[$this->name];
		}

	}
	// Hämtar cookien från användaren
	public function passCookie(){
		if(isset($_COOKIE[$this->pass])){
			return $_COOKIE[$this->pass];
		}
	}
	// Sätter cookien hos användaren
	public function DoRemember(){
		setcookie($this->name, $this->GetUserName(), time() +36000);
		$_COOKIE[$this->name] = $this->GetUserName();
		
		setcookie($this->pass, $this->GetPassword(), time() +36000);
		$_COOKIE[$this->pass] = $this->GetPassword();
	}
	// Tar bort cookie från användaren
	public function UnsetCookies(){
		setcookie($this->name, $this->GetUserName(), time() -36001);
		setcookie($this->pass, $this->GetPassword(), time() -36001);
		
		unset($_COOKIE[$this->name]);
		unset($_COOKIE[$this->pass]);
	}
	// Kollar om man har tryckt på checkrutan
	public function DidRemember(){
		if(isset($_POST[$this->check]) == true){
			return true;
		}
		else{
			false; 
		}
		
	}
	// Hämtar användarnamnet från input med namn name, som är en privat variabel
	public function GetUserName(){
		// Om inputten är satt och inte är tom, så skriv ut namnet. 
		if(isset($_POST[$this->name])){
			// Man behöver inte göra en variabel med html-kod utan man kan returna direkt med html-kod. 
			return $_POST[$this->name];
		}
		return NULL;
		
	}
	// Hämtar lösenord från input med namn pass, som är en privat variabel
	public function GetPassword()
	{
		// Om inputten är satt och inte är tom, så skriv ut lösenordet. 
		if(isset($_POST[$this->pass])){
			
			// Man behöver inte göra en variabel med html-kod utan man kan returna direkt med html-kod. 
			return $_POST[$this->pass];
		}

	}
	// Denna funktion kollar om man är inloggad med en if-sats, man kan säga att man loggar in med denna
	public function TriedToLogin()
	{
		// Kollar så både namn och lösenord är satta i inputten och det inte är tomt, då har man loggat in. Även så knappen är nertryckt.  
		if(isset($_POST[$this->login])){
			return true;
		}
		else{
			
			return false; 
		}
	}

	// Denna funktion kollar så man har tryckt på logga-ut knappen. 
	// Man loggar ut med denna funktion
	public function TriedToLogOut(){
		
		// Så om man har tryckt på logga-ut knappen så returnar den true.
		if(isset($_POST[$this->logout])){
			
			return true;
		}
		else{
			
			return false;
		}
	}
}


